<?php

namespace Transaccion\Controller;

use Transaccion\Controller\GenericController;
use Componentes\Controller\UtilsArrayController;

class EspecialidadController extends GenericController {

    public function __construct() {
        
    }

    public function get($id) {
        /*
         * Datos de la especialidad (NO LO TRAE COMPLETO PORQUE ES LA ESTRUCTURA VIEJA
         * Y SE QUIERE ACOMODAR ESTO)
         * Ej: http://localhost/UptaebBackend/public/transaccion/especialidad/05026
         * Rsp: {"success":true,"data":[{"sespeid":"05026",
         * "sespedescripcion":"PROGRAMA NACIONAL DE FORMACI\u00d3N EN ADMINISTRACI\u00d3N",
         * "sespedescripcioncorta":"PROGRAMA NACIONAL DE FORMACI\u00d3N EN ADMINISTRACI\u00d3N",
         * "despefechacreac":"2008-12-08 00:00:00","despefechaderog":"2050-01-01 00:00:00",
         * "sespelapsinicio":"200911","sespelapsderog":"200911","sespeasigcnu":"4 ",
         * "sespecohoinicio":"199911","sespecohoderog":"199911","sespecohovigente":"199911",
         * "sespeestado":"1","sespecorta":"Pnf Administraci\u00f3n","sespecodprograma":" ",
         * "sespeini":"LA","sespetitulo":"LICENCIADO (A)"}],"total":1,"mensaje":null}
         */
        $idEspecialidad = $this->params()->fromRoute('id');
        $output = $this->getEspecialidadService()->getRegistro($idEspecialidad);
        return $this->convertirArrayAJson($output);
    }

    /**
     * Return list of resources
     * @return mixed
     */
    public function getList($id = 1, $param1 = 1, $param2 = 1, $param3 = 1) {
        $id = $this->params()->fromRoute('id');
        $param1 = $this->params()->fromRoute('param1');
        $data = null;
        $mensaje = "Defaul";
        switch ($id) {
            case (0):
                /*
                 * Datos del especialidad
                 * Ej: http://localhost/UptaebBackend/public/transaccion/especialidad/0/05026
                 * Rsp: {"success":true,"data":[{"sespeid":"05026",
                 * "sespedescripcion":"PROGRAMA NACIONAL DE FORMACI\u00d3N EN ADMINISTRACI\u00d3N",
                 * "sespedescripcioncorta":"PROGRAMA NACIONAL DE FORMACI\u00d3N EN ADMINISTRACI\u00d3N",
                 * "despefechacreac":"2008-12-08 00:00:00","despefechaderog":"2050-01-01 00:00:00",
                 * "sespelapsinicio":"200911","sespelapsderog":"200911","sespeasigcnu":"4 ",
                 * "sespecohoinicio":"199911","sespecohoderog":"199911","sespecohovigente":"199911",
                 * "sespeestado":"1","sespecorta":"Pnf Administraci\u00f3n","sespecodprograma":" ",
                 * "sespeini":"LA","sespetitulo":"LICENCIADO (A)"}],"total":1,"mensaje":null}
                 * "total":1,"mensaje":null}
                 */
                $idEspecialidad = $this->params()->fromRoute('param1');
                $output = $this->getEspecialidadService()->getRegistro($idEspecialidad);
                break;
            default:
                return $param1;
        }
        return $this->convertirArrayAJson($output);
    }

    /**
     * Delete an existing resource
     * @param  mixed $id
     * @return mixed
     */
//    public function delete($id) {
//        // obtener el id del registro
//        $id = $this->params()->fromRoute('id');
//        // Eliminar el registro
//        //$alumno_service = new \Transaccion\Controller\Service\AlumnoService($this->getServiceLocator()->get('db'));
//        $especialidad_service = Service\EspecialidadService::getInstance();
//        $result = $especialidad_service->deleteRegistro($id);
//        $response = $this->getResponseWithHeader();
//        $response->setContent($result);
//        return $response;
//    }

    /**
     * Update an existing resource
     * @param  mixed $id
     * @param  mixed $data
     * @return mixed
     */
//    public function updateAction() {
//        $id = $this->params()->fromRoute('id');
//        $estado = $data = (string) $this->params()->fromRoute('id2');
//        $turno = $data = (string) $this->params()->fromRoute('id3');
//        $data = array('salumestado' => $estado, 'turno' => $turno);
//        $result = $this->getEspecialidadService()->updateRegistro($id, $data);
//        $response = $this->getResponseWithHeader();
//        $response->setContent($result);
//        return $response;
//    }

    /**
     * Create a new resource
     * @param  mixed $data
     * @return mixed
     */
//    public function create($data) {
//        $data = $this->params()->fromPost();
//        // Guardar el registro
//        $especialidad_service = new Service\EspecialidadService($this->getServiceLocator()->get('Zend\Db\Adapter'));
//        $result = $especialidad_service->createRegistro($data);
//        $response = $this->getResponseWithHeader();
//        $response->setContent($result);
//        return $response;
//    }
}
